package fr.paris.lutece.plugins.${plugin.name}.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import fr.paris.lutece.plugins.lel.business.bean.${bean.name?cap_first}Filter;
import fr.paris.lutece.plugins.lel.business.dao.PaginationProperties;
import fr.paris.lutece.plugins.lel.commons.ResultList;
import fr.paris.lutece.plugins.lel.business.<#if bean.withDTO >dto<#else>bean</#if>.${bean.name?cap_first}<#if bean.withDTO >DTO</#if>;

/**
 * The ${bean.name?cap_first} interface for service
 * @author ${bean.author}
 */
@Transactional
public interface I${bean.name?cap_first}Service {

	/**
	 * Get all the ${bean.name}
	 * @param paginationProperties
	 * @return
	 */
	ResultList<${bean.name?cap_first}<#if bean.withDTO >DTO</#if>> findAll(PaginationProperties paginationProperties);
	
	/**
	 * Get ${bean.name} with filter
	 * @param filter
	 * @param paginationProperties
	 * @return
	 */
	ResultList<${bean.name?cap_first}<#if bean.withDTO >DTO</#if>> find(${bean.name?cap_first}Filter filter, PaginationProperties paginationProperties);

}
